package com.example.concurrency.singleton;

import com.example.concurrency.annotation.NotThreadSafe;

/**
 * 懒汉模式
 * 单例示例在第一次使用时进行创建
 * 缺点：单线程没问题，多线程就会出现问题
 *
 * @author 文希
 * @create 2019-05-16 23:29
 */
@NotThreadSafe
public class SingletonExample1 {

    // 私有的构造函数
    private SingletonExample1(){

    }

    // 单例对象
    private static SingletonExample1 instance = null;

    // 静态的工厂方法
    public static SingletonExample1 getInstance(){
        if (instance == null){
            return new SingletonExample1();
        }
        return instance;
    }

}
